/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Protocolo;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Angie
 */
public class ConexionServidor {
   private ServerSocket serverSocket = null;
        
    public ConexionServidor(int puerto){
        try{
            serverSocket = new ServerSocket(puerto);
            System.out.println("Aceptando conexiones en el puerto " + puerto);
        }
        catch(IOException e){
            System.err.println("No se puede abrir el socket");
            e.printStackTrace();
            System.exit(1);
        }

    }
    
    public synchronized ConexionServidorACliente recibirConexion() throws InterruptedException{
        Socket client=null;
        ConexionServidorACliente conexion = null;
            try {
                while((client = serverSocket.accept())==null){
                    wait();
                }
                System.out.println("Conexion aceptada");
                conexion = new ConexionServidorACliente(client);
                conexion.start();
                notify();
            } catch (IOException ex) {
                Logger.getLogger(ConexionServidor.class.getName()).log(Level.SEVERE, null, ex);
            }
        return conexion;
    }
        
}
